package cn.yx.common.core.mapping;

import java.util.List;

/**
 * <p>mapstruct基础映射接口，DTO与DTO的映射</p>
 *
 * @param <Dto>   DTO类
 * @param <Other> 另一个DTO类
 * @author Wgssmart
 */
public interface DtoMapping<Dto, Other> {

    /**
     * DTO转DTO
     *
     * @param dto
     * @return
     */
    Other dtoToOther(Dto dto);

    /**
     * DTO集合转DTO集合
     *
     * @param dtoList
     * @return
     */
    List<Other> dtoToOther(List<Dto> dtoList);

    /**
     * DTO转DTO
     *
     * @param dto
     * @return
     */
    Dto otherToDto(Other dto);

    /**
     * DTO集合转DTO集合
     *
     * @param dtoList
     * @return
     */
    List<Dto> otherToDto(List<Other> dtoList);

}
